home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 7
/
Apprentice-Release7.iso
/
Source Code
/
Pascal
/
Snippets
/
PNL Libraries
/
Libraries
/
SpriteWorld
/
SpriteWorld files
/
Interfaces
/
BlitPixie.p
next >
Wrap
Text File
|
1996-11-02
|
5KB
|
93 lines
unit BlitPixie;
interface
{/--------------------------------------------------------------------------------------}
{ BlitPixie.h}
{}
{ Description: This is the include file for all the BlitPixie source files.}
{/--------------------------------------------------------------------------------------}
uses
{$IFC undefined THINK_Pascal}
Types, QuickDraw,
{$ENDC}
QDOffscreen, SWCommonHeaders, SpriteFrame, Sprite;
{/--------------------------------------------------------------------------------------}
{ type definitions & conditional macros}
{/--------------------------------------------------------------------------------------}
{$PUSH}
{$ALIGN MAC68K}
type
PixelChunk = UInt32;
PixelChunkPtr = ^PixelChunk;
PixelChunkHdl = ^PixelChunkPtr;
{}
{BytesToChunks=(b) ((b) >> 2);}
{ChunksToBytes=(b) ((b) << 2);}
{}
type
PixelPtr = ^UInt32;
type
StarArray = record
horizLoc: Integer; { Current horizontal position of the star}
vertLoc: Integer; { Current vertical position of the star}
oldHorizLoc: Integer; { Horizontal position of star the previous frame}
oldVertLoc: Integer; { Vertical position of star the previous frame}
horizSpeed: Integer; { To be used by the user to move the star}
vertSpeed: Integer; { To be used by the user to move the star}
color: Integer; { Current color of the star}
needsToBeErased: Boolean; { If drawn last frame, then it needs to be erased.}
userData: Integer; { Reserved for user }
end;
StarArrayPtr = ^StarArray;
{ I wouldn't call any of these directly (asm/C calling conventions), but passing them to SW should be safe enough }
{/--------------------------------------------------------------------------------------}
{ Function prototypes for all-bit blitters}
{/--------------------------------------------------------------------------------------}
procedure BlitPixieAllBitRectDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BPAllBitInterlacedRectDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BlitPixieAllBitMaskDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BlitPixieAllBitPartialMaskDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BPAllBitInterlacedMaskDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BPAllBitInterlacedPartialMaskDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BlitPixieAllBit( srcPixelP, dstPixelP:PixelPtr; rowsToCopy, numBytesPerRow, srcRowStride, dstRowStride, srcExtraStart, dstExtraStart, dstExtraEnd:UInt32 );
procedure BlitPixieAllBitMask( srcPixelP, dstPixelP:PixelPtr; maskPixelP:PixelPtr; rowsToCopy, numBytesPerRow, srcRowStride, dstRowStride, srcExtraStart, dstExtraStart, dstExtraEnd:UInt32 );
procedure BlitPixieAllBitPartialMask( srcPixelP, dstPixelP:PixelPtr; maskPixelP:PixelPtr; rowsToCopy, numBytesPerRow, srcRowStride, dstRowStride, srcExtraStart, dstExtraStart, dstExtraEnd:UInt32 );
{/--------------------------------------------------------------------------------------}
{ Function prototypes for 8-bit blitters}
{/--------------------------------------------------------------------------------------}
procedure BlitPixie8BitRectDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BP8BitInterlacedRectDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BlitPixie8BitMaskDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BlitPixie8BitPartialMaskDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BP8BitInterlacedMaskDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure BP8BitInterlacedPartialMaskDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
procedure CompiledSprite8BitDrawProc( srcFrameP, dstFrameP:FramePtr; var srcRect, dstRect: Rect );
function BlitPixie8BitGetPixel( srcFrameP:FramePtr; thePoint:Point ):SignedByte;
procedure BlitPixie8BitSetPixel( srcFrameP:FramePtr; thePoint:Point; theColor:SignedByte );
procedure SWAnimate8BitStarField( spriteWorldP:SpriteWorldPtr; stars:StarArrayPtr; numStars, backColor:Integer);
procedure SWBlitPixie8BitFlipSprite( srcSpriteP:SpritePtr );
procedure BlitPixie8Bit( srcPixelP, dstPixelP:PixelChunkPtr; rowsToCopy, numBytesPerRow, srcRowStride, dstRowStride:UInt32);
procedure BlitPixieMask8Bit( srcPixelP, dstPixelP, maskPixelP:PixelPtr; rowsToCopy, numBytesPerRow, srcRowStride, dstRowStride:UInt32);
procedure BlitPixiePartialMask8Bit( srcPixelP, dstPixelP, maskPixelP:PixelPtr; rowsToCopy, numBytesPerRow, srcRowStride, dstRowStride:UInt32);
{$ALIGN RESET}
{$POP}
{$IFC not undefined THINK_Pascal}
implementation
{$ENDC}
end.